<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>WebVTT Custom Rendering</title>
    <script src="../../contrib/videojs-vtt.js/vtt.min.js"></script>
    <script class="code" src="../../contrib/akamai/controlbar/ControlBar.js"></script>
    <script src="../../dist/modern/umd/dash.all.debug.js"></script>

    <!-- Bootstrap core CSS -->
    <link href="../lib/bootstrap/bootstrap.min.css" rel="stylesheet">
    <link href="../lib/main.css" rel="stylesheet">
    <link rel="stylesheet" href="../../contrib/akamai/controlbar/controlbar.css">

    <style>
        video {
            width: 100%;
        }

        .dash-video-player {
            position: relative; /* This position relative is needed to position the menus */
            margin: 0 auto;
            line-height: 1.0;
        }
    </style>

    <script class="code">
        function init() {
            var url = 'https://dash.akamaized.net/akamai/test/caption_test/ElephantsDream/elephants_dream_480p_heaac5_1_https.mpd',
                video = document.querySelector('video'),
                vttRenderingDiv,
                player;

            vttRenderingDiv = document.querySelector("#vtt-rendering-div");
            player = dashjs.MediaPlayer({}).create();
            player.updateSettings({
                debug: {
                    logLevel: 5
                },
                streaming: {
                    text: {
                        webvtt: {
                            customRenderingEnabled: true
                        }
                    }
                }
            })
            player.initialize(video, url, true);
            player.attachVttRenderingDiv(vttRenderingDiv)
            controlbar = new ControlBar(player);
            controlbar.initialize();
        }
    </script>
</head>
<body>

<main>
    <div class="container py-4">
        <header class="pb-3 mb-4 border-bottom">
            <img class=""
                 src="../lib/img/dashjs-logo.png"
                 width="200">
        </header>
        <div class="row">
            <div class="col-md-4">
                <div class="h-100 p-5 bg-light border rounded-3">
                    <h3>WebVTT Custom Rendering Demo</h3>
                    <p>This example shows how content with VTT captions can be played back by the dash.js player using
                        the external vtt.js library. This enables VTT support on devices that do not provide native VTT
                        support. <p>The first
                        captions appear at the 15s mark.</p>
                    <p>Note: This sample will only work when using http as the subtitles are not hosted via https.</p>
                </div>
            </div>
            <div class="col-md-8">
                <div class="dash-video-player code">
                    <div class="videoContainer" id="videoContainer">
                        <video preload="auto" muted></video>
                        <div style="position: relative">
                            <div id="vtt-rendering-div" style="min-width: 600px; min-height: 100px;"></div>
                        </div>
                        <div id="videoController" class="video-controller unselectable">
                            <div id="playPauseBtn" class="btn-play-pause" title="Play/Pause">
                                <span id="iconPlayPause" class="icon-play"></span>
                            </div>
                            <span id="videoTime" class="time-display">00:00:00</span>
                            <div id="fullscreenBtn" class="btn-fullscreen control-icon-layout" title="Fullscreen">
                                <span class="icon-fullscreen-enter"></span>
                            </div>
                            <div id="bitrateListBtn" class="control-icon-layout" title="Bitrate List">
                                <span class="icon-bitrate"></span>
                            </div>
                            <input type="range" id="volumebar" class="volumebar" value="1" min="0" max="1" step=".01"/>
                            <div id="muteBtn" class="btn-mute control-icon-layout" title="Mute">
                                <span id="iconMute" class="icon-mute-off"></span>
                            </div>
                            <div id="trackSwitchBtn" class="control-icon-layout" title="A/V Tracks">
                                <span class="icon-tracks"></span>
                            </div>
                            <div id="captionBtn" class="btn-caption control-icon-layout" title="Closed Caption">
                                <span class="icon-caption"></span>
                            </div>
                            <span id="videoDuration" class="duration-display">00:00:00</span>
                            <div class="seekContainer">
                                <div id="seekbar" class="seekbar seekbar-complete">
                                    <div id="seekbar-buffer" class="seekbar seekbar-buffer"></div>
                                    <div id="seekbar-play" class="seekbar seekbar-play"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                <div id="code-output"></div>
            </div>
        </div>
        <footer class="pt-3 mt-4 text-muted border-top">
            &copy; DASH-IF
        </footer>
    </div>
</main>


<script>
    document.addEventListener('DOMContentLoaded', function () {
        init();
    });
</script>
<script src="../highlighter.js"></script>
</body>
</html>
